package com.wanho.java159.code.gen.util;

import freemarker.template.Configuration;

import java.io.File;
import java.io.IOException;
import java.util.Locale;

/**
 * freemarker 配置工具类
 * @author ChaoFei.zhang
 * @date  2021/07/09
 */
public class FreemarketConfigUtils {
    /** 配置对象*/
    private static Configuration configuration;

    /**
     * 创建 Freemarker 模板对象
     * @return  返回 Freemarker 模板对象
     */
    public static synchronized Configuration getInstance() {
        //保证 创建 单例的 configuration对象
        if (null == configuration) {
            //设置 freemarker版本
            configuration = new Configuration(Configuration.VERSION_2_3_23);
            try {
                //设置模板目录
                configuration.setDirectoryForTemplateLoading(new File(Common.TEMPLATE_DIR_PATH));
            } catch (IOException e) {
                e.printStackTrace();
            }
            // 设置语言编码
            configuration.setEncoding(Locale.CHINA, "utf-8");
        }
        return configuration;
    }
}
